home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 049a / qnode.zip / QNODE.DOC < prev    next >
Text File  |  1991-04-02  |  14KB  |  284 lines

  1.                                      QNODE
  2.                                      =====
  3.  
  4. QNode has been designed as the fastest nodelist compiler for an Opus 1.10+ 
  5. system.  Others may in fact be faster, I'm not sure about that, but that 
  6. doesn't affect what it was originally designed for.  It was written for my 
  7. system configuration, so anything I wanted it to do, I made it do.  Anything 
  8. which exists in other nodelist compilers does not necessarily exist in this 
  9. one.
  10.  
  11. This program consists of QNODE.EXE and QDIFF.EXE.  For a list of the 
  12. errorlevels that either program will produce, run the program with a parameter 
  13. of '/?' (ie: QNODE /?)
  14.  
  15. QNode will always use the file 'QNODE.CFG' as it's input file, will always 
  16. search and find the latest 'NODELIST.###' file (time-stamps are used, so end 
  17. of year wrap isn't a problem.) and will always generate the two files: 
  18. 'NODELIST.DAT' and 'NODELIST.IDX'.  It can also optionally generate the file: 
  19. 'FIDOUSER.LST', memory permitting.
  20.  
  21. This program is really for the grunt Opus 1.10 sysop you doesn't really care
  22. about doing anything other than getting a working nodelist.
  23.  
  24. The config file is a free format text file, consisting of a keyword, followed
  25. by optional parameters.  You may use a semi-colon (;) on any line to start a 
  26. comment.  Anything from the semi-colon to the end of the line will be 
  27. cheerfully ignored.  The file is totally case insensitive.  It is described at 
  28. the end of this document.
  29.  
  30. QNode will only compile as much of the nodelist as you require.  Therefore,
  31. if you only use zone 1, then the instant that it hits zone 2, it will stop
  32. compiling the nodelist.  This can save a great deal of time in the compile,
  33. but it also throws the nodelist report at the end out by the extra zone
  34. hub that it includes.  This is nothing to be concerned about.
  35.  
  36. The errorlevels which can be returned by QNODE are:
  37.  
  38.     0: Nodelist compile fine.
  39.     1: No Nodelist found.
  40.     2: Cannot open config file: QNODE.CFG
  41.     3: Cannot open nodelist.
  42.     4: Errors exist in the config file.
  43.  
  44.                                    QDIFF
  45.                                    =====
  46.  
  47. QDiff is also fast, and will check for disk space and bad CRCs.
  48.  
  49. QDiff will go through your NODELIST.### files, find the most recent one (end 
  50. of year wrap is handled nicely), and then will go through your NODEDIFF.### 
  51. files to find the most recent of them.  If there are no NODEDIFF.### files, 
  52. then it will do a second search for NODEDIFF.A##, NODEDIFF.Z##, NODEDIFF.L##.
  53. If the nodediff file number is not equal to the nodelist file number, then
  54. things will start happening.
  55.  
  56. If QDiff is only given a NODEDIFF.A## (arced) or NODEDIFF.Z## (zipped), or
  57. NODEDIFF.L## (lharced) then it will kindly extract the real nodediff, process 
  58. it, and then delete the extracted nodediff.  The new nodediff will NOT be 
  59. deleted if you run out of drive space while processing the nodediff however.
  60.  
  61. Choices for extractors include (in order): for NODEDIFF.A##:
  62.   PKUNPAK, PKXARC, ARCE, PAK
  63.  for NODEDIFF.Z##:
  64.   PKUNZIP, PAK
  65.  for NODEDIFF.L##:
  66.   LHA, LHARC
  67.  
  68. While running, QDiff requires enough drive space to create an entire nodelist.  
  69. Once the new one has been created (under the name QDIFF$.TMP), it will be 
  70. renamed to the proper name of NODELIST.###.  This is just in case things get 
  71. interrupted, such that you aren't playing with a partial nodelist.
  72.  
  73. QDiff takes no command line parameters, other than the /? to display the valid 
  74. errorlevels.
  75.  
  76. The errorlevels which can be returned by QDIFF are:
  77.  
  78.     0: .DIFF file applied normally
  79.     1: Nodelist does not require updating
  80.     2: Cannot find nodediff
  81.     3: Cannot find nodelist
  82.     4: Cannot find extraction program
  83.     5: Nodediff wasn't there after extraction
  84.     6: Error during extraction
  85.     7: Disk error during writing, probably disk full
  86.     8: CRC error in new nodelist
  87.  
  88.                                 QNODE.CFG
  89.                                 =========
  90.  
  91. Here is a list of valid commands, and usages for the QNODE.CFG file:
  92.  
  93. ; *** STUFF ABOUT YOUR SYSTEM ***
  94.         ZONE # ; This sets YOUR zone number
  95.         NET #  ; This sets YOUR net number
  96.         NODE # ; This sets YOUR node number, and is totally ignored.
  97.         COUNTRY # ; This sets your countries telephone direct dial code.
  98.                     (In Canada and the US, this will be '1')
  99.         USERLIST ; This asks for FIDOUSER.LST to be generated.
  100.                  ; WARNING: If you do not have sufficient memory to load
  101.                  ; the whole thing into memory, you will not get the whole
  102.                  ; thing.  I have not put sort on disk routines into it yet,
  103.                  ; so you will only get what it can fit into memory.
  104.         BUFFERS # ; This sets the node buffer size.  It can be anywhere from
  105.                   ; 1 to 511, and defaults to 511.  The only use I can see for
  106.                   ; this is to give yourself more memory for the userlist.
  107.                   ; (If you don't have enought memory for the buffers 
  108.                   ; themselves, it will default to a lower number of nodes.
  109.         MAXBAUD # {[FLAG #] ...}
  110.                 ; This sets your systems maximum baud rate.  Any entires above
  111.                 ; the baud rate will be set to that baud rate.  However, any
  112.                 ; nodes which have the flag specified will be changed to the
  113.                 ; listed baudrate.  In multiple matches, the last one rules.
  114.                 ; (My 2400/MNP5 uses: MAXBAUD 2400 HST 9600 MNP 9600 V42 9600)
  115.  
  116. ; *** QUICK OUTPUT LIST TYPES ***
  117.         ; (Note: These may be specified on the command line, if desired)
  118.         ONEZONE  ; Asks for only nodes in your zone. (ie: ZONE:*/*)
  119.         REGULAR  ; Asks for only your zone, plus hub nodes from other zones.
  120.                  ; (ie: ZONE:*/* + *:*/0)
  121.         ALLZONES ; Asks for a complete nodelist (ie: *:*/*)
  122.         NOZONES  ; Asks for NO nodes whatsoever to be included
  123.  
  124. ; *** NODELIST GENERATION MODIFIERS ***
  125.         ADD {[nodeid] ...}
  126.         DELETE {[nodeid] ...}
  127.                 ; These two functions are used to change the list generated
  128.                 ; by the quick output list types.
  129.                 ; The [nodeid] statements may be any of these style of 
  130.                 ; numbers:
  131.                 ; ZONE:         ; Asks for the entire zone
  132.                 ; ZONE:REGION   ; Asks for the entire region
  133.                 ; ZONE:NET      ; Asks for the entire net
  134.                 ; REGION        ; Asks for a region in your own zone
  135.                 ; NET           ; Asks for a net in your own zone
  136.                 ; -ZONE:        ; Asks for admin node for the zone
  137.                 ; ZONE:-REGION  ; Asks for admin nodes from specified region
  138.                 ;
  139.                 ; These commands are processed in the order they are 
  140.                 ; encountered.  You may have as many add and delete lines as
  141.                 ; you like, in any order.  In cases of multiple matches, the
  142.                 ; first applicable match will rule.
  143.         NETLIST filename
  144.                 ; This will include the specified file at the end of your
  145.                 ; own net.  This is used to add people who 'just missed' the
  146.                 ; weeks nodediff.
  147.         ZONELIST filename
  148.                 ; This will include the specified file at the end of your
  149.                 ; own zone.  This is used to include your pointnet.
  150.         INCLUDE filename
  151.                 ; This will include the specified file into the QNODE.CFG
  152.                 ; parsing pass.  I personally use this to include my dial and
  153.                 ; cost tables, which are used by every nodelist processor.
  154.  
  155. ; *** BULK NODE MODIFICATIONS ***
  156.  
  157.         ; (Actually, these don't need to change numbers into script files,
  158.         ; but that's the only use I can see.  Inventive people will probably
  159.         ; come up with other uses.)
  160.         SCRIPT minbaud maxbaud cost fromdial todial
  161.                 ; This is one form of the script command, which I invented to
  162.                 ; handle my 2400 baud/MNP 5 modem.  In this case, every node
  163.                 ; which has a baud rate between (or equal to) the minbaud and
  164.                 ; the maxbaud, with a cost equal to the cost, will have the
  165.                 ; listed dial substitution done to it.  (If the start of the
  166.                 ; phone number doesn't match the fromdial, that node is not
  167.                 ; changed.)
  168.  
  169.                 ; On my system, I use:
  170.                 ;    SCRIPT 300 2400 0 1- "NOMNP1.SCR"   ; Local Calls
  171.                 ;    SCRIPT 300 2400 25 1- "NOMNP2.SCR"  ; No Areacode calls
  172.                 ;    SCRIPT 300 2400 50 1- "NOMNP3.SCR"  ; Long Distance calls
  173.                 ; You could add another set of entries for other countries 
  174.                 ; too, but I don't call international yet, so haven't required
  175.                 ; it.
  176.  
  177.         ; *** DIAL/COST TABLES ***
  178.                 ; In the dial table, there are two parameters after the dial 
  179.                 ; keyword. the first is the modifications to local calls (ones 
  180.                 ; within your own country code), and the second is the 
  181.                 ; modifications to the international direct dial phone numbers 
  182.                 ; (ones with any other country code.)  Each of these 
  183.                 ; entries consists of what to put before the phone number, as 
  184.                 ; well as what to put after the phone number.  To seperate the 
  185.                 ; two, use a slash (/).  For no change to the phone number, 
  186.                 ; use a slash by itself. You should use the keyword 'End' to 
  187.                 ; terminate the dial and cost tables.
  188.  
  189.                 ; The dial table will replace every phone number that starts 
  190.                 ; with the first sequence with the second sequence.  This is 
  191.                 ; for local or regional calls where you aren't allowed to dial 
  192.                 ; the entire phone number.
  193.  
  194.                 ; An example follows:
  195.  
  196.         DIAL    /    011-             ; Add 011- to international calls
  197.         
  198.         ; The following set up local calls from Saskatoon, SK
  199.              1-306-242- 242-
  200.              1-306-244- 244-
  201.              1-306-373- 373-
  202.              1-306-374- 374-
  203.              1-306-382- 382-
  204.              1-306-384- 384-
  205.              1-306-652- 652-
  206.              1-306-654- 654-
  207.              1-306-664- 664-
  208.              1-306-665- 665-
  209.              1-306-931- 931-
  210.              1-306-933- 933-
  211.              1-306-934- 934-
  212.              1-306-955- 955-
  213.              1-306-966- 966-
  214.              1-306-978- 978-
  215.              1-306-329- 329-
  216.              1-306- 1-          ;area code strip for Saskatchewan calls
  217.         END
  218.         
  219.                 ; The COST statement at the head of the table can take two
  220.                 ; arguments, which are the default costs in pennies to apply to
  221.                 ; domestic and international calls, respectively.
  222.  
  223.                 ; Each entry in the cost table consists of a partial phone 
  224.                 ; number followed by a cost in pennies for sending a message 
  225.                 ; to any node whose phone number begins with that string.  As 
  226.                 ; with the dialing table, the first matching entry is the one 
  227.                 ; that is used.  The cost table is used before the dial table 
  228.                 ; is used, so you should always use the fully expanded phone 
  229.                 ; numbers, instead of the simplified phone numbers which the 
  230.                 ; dial table would generate
  231.  
  232.                 ; An example follows:
  233.  
  234.         COST 50 250            ; Give a cost of 50 cents to long
  235.                                ; distance nodes, and $2.50 international
  236.  
  237.         ; The following numbers are free from Saskatoon, SK
  238.              1-306-242- 00
  239.              1-306-244- 00
  240.              1-306-373- 00
  241.              1-306-374- 00
  242.              1-306-382- 00
  243.              1-306-384- 00
  244.              1-306-652- 00
  245.              1-306-654- 00
  246.              1-306-664- 00
  247.              1-306-665- 00
  248.              1-306-931- 00
  249.              1-306-933- 00
  250.              1-306-934- 00
  251.              1-306-955- 00
  252.              1-306-966- 00
  253.              1-306-978- 00
  254.              1-306-329- 00
  255.              1-306- 25 ; short distance calls, cheaper rates
  256.              1-800- 00
  257.              1-900- 50
  258.         END
  259.  
  260. ; *** INDIVIDUAL NODE MODIFICATIONS ***
  261.         BAUD [zone:][net/]node baudrate
  262.                 ; Sets the specified nodes baudrate to whatever you specify.
  263.         FLAGS [zone:][net/]node flaglist
  264.                 ; Adds the specified flags to the node. (Normally 'CM')
  265.         PHONE [zone:][net/]node phonenumber
  266.                 ; Sets the specified nodes phone number
  267.                 ; (Unless the node number is unlisted, you may want to see
  268.                 ; if you can use the SCRIPT command instead, which doesn't
  269.                 ; have to be changed if the person ever changes their phone
  270.                 ; number.)
  271.         PASSWORD [zone:][net/]node password
  272.                 ; Sets the specified nodes password.  No embedded blanks
  273.                 ; are allowed in these passwords.
  274.         SCRIPT [zone:]net/node fromdial todial
  275.                 ; This is the second form of the script command.  Please note
  276.                 ; that the net number IS required, even if it's your own net.
  277.                 ; (I use the '/' to determine the difference between the two
  278.                 ; script lines.)
  279.                 ; For instance:
  280.                 ;    SCRIPT 140/88 1- "VORTEX.SCR"  ; Needs a special script.
  281.                 ; (This is less error prone than sticking his phone number 
  282.                 ; into a dial substitution line.)
  283.  
  284.